To digitally process an image it is first necessary to reduce the image to a series of digitised numbers, i.e. a data array, that can be manipulated by computing means. Each number represents the brightness value at a particular location and is called a picture element or pixel. Once digitised, various operations can be performed on the image by the computing means, such as enhancement, restoration or compression. Compression of an image is a way of representing the image by fewer numbers.
Image compression has been recognised as an important enabler in the next generation of Information Technology products which will incorporate video-phones, desk top presentations and interactive video etc. This has led to standards being promulgated which are based on the Discrete Cosine Transform (DCT), currently the most efficient general purpose compression technique, although there are others. A particular standard (draft CCITT document number 396 "Description Reference Model 7 (RM7)" describes a compression scheme suitable for the transmission of medium resolution (360.times.288 pixels) black and white and colour images at up to 30 frames per second over ISDN 64 Kbit/sec links. Similar techniques can be used to transmit lower resolution low bit rate images over standard telephone lines (PSTN).
Images to be compressed are divided into blocks of say 8.times.8 or 16.times.16 pixels and the transformation is performed on the block. The use of blocks ensures local pixel correlation and additionally limits the size of the transform coefficients. However, when high compression ratios are implemented the block boundaries becomes distinct in the image presented to the viewer and in the extreme case they are visually disturbing. This situation is further aggravated by the motion compression techniques which selectively refresh blocks where movement of an image part has occurred, that is the whole image information is not transmitted all of the time but only that relating to changes. Filtering of the image can be used to remove the block discontinuities. Filtering in this context means "averaging" a pixel value with its neighbours, with the possible application of weights to the values first.
Image filtering, to remove noise etc, is normally achieved by scanning a small 3.times.3 operator matrix, set of values, or mask, over the image i.e. convolving the operator matrix with the data array, the elements of the data array being sequenctially scanned by the operator matrix. The operator matrix is substantially smaller than the data array. For each pixel point the values of its 8 neighbours are weighted together with itself to create a new averaged (smoothed) value. When applying this to images to remove block discontinuities (boundaries) detail is lost from the whole image rather than just at the boundaries. The block discontinuity problem can be overcome by a technique involving overlapping the block edges but this is very complicated and involves considerable computing effort. Hence it is particularly unsuitable for PSTN type applications where costs and computing power should be minimised as far as possible.